Prophet: Automatic Patch Generation via Learning from Successful Patches

نویسندگان

  • Fan Long
  • Martin Rinard
چکیده

We present Prophet, a novel patch generation system that learns a probabilistic model over candidate patches from a database of past successful patches. Prophet defines the probabilistic model as the combination of a distribution over program points based on defect localization algorithms and a parameterized log-linear distribution over modification operations. It then learns the model parameters via maximum log-likelihood, which identifies important characteristics of the previous successful patches in the database. For a new defect, Prophet generates a search space that contains many candidate patches, applies the learned model to prioritize those potentially correct patches that are consistent with the identified successful patch characteristics, and then validates the candidate patches with a user supplied test suite. The experimental results indicate that these techniques enable Prophet to generate correct patches for 15 out of 69 real-world defects in eight open source projects. The previous state of the art generate and validate system, which uses a set of hand-code heuristics to prioritize the search, generates correct patches for 11 of these same 69 defects.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Prophet: Automatic Patch Generation via Learning from Successful Human Patches

We present Prophet, a novel patch generation system that learns a probabilistic model over candidate patches from a large code database that contains many past successful human patches. It defines the probabilistic model as the combination of a distribution over program points based on error localization algorithms and a parameterized log-linear distribution over modification operations. It the...

متن کامل

Automatic Inference of Code Transforms and Search Spaces for Automatic Patch Generation Systems

We present a new system, Genesis, that processes sets ofhuman patches to automatically infer code transforms andsearch spaces for automatic patch generation. We present re-sults that characterize the effectiveness of the Genesis infer-ence algorithms and the resulting complete Genesis patchgeneration system working with real-world patches and er-rors collected from top 1...

متن کامل

Sorting and Transforming Program Repair Ingredients via Deep Learning Code Similarities

In the field of automated program repair, the redundancy assumption claims large programs contain the seeds of their own repair. However, most redundancy-based program repair techniques do not reason about the repair ingredients— the code that is reused to craft a patch. We aim to reason about the repair ingredients by using code similarities to prioritize and transform statements in a codebase...

متن کامل

Evaluating soil surface indicators rangeland in shrubs different patches (Case Study: Gub Gugeh rangeland of Golestan province (

The aim of this study is investigates the effects of different patches shrubs on the soil surface indicators in Gub Gugeh rangelands, in Golestan Province. The sampling was taken along transects of 50 meters, which are 10 meters away from each other. Via LFA models, three factors of stability, infiltration and nutrient cycling using 11 indicators of surface soil in patch and inter-patch were me...

متن کامل

Automatic Photo Orientation via Matching with Control Patches

Traditional aerial-triangulation has long relied on control points orientating the photo models into a ground-based coordinate system, reducing the distortion effect when tying photos by imperfect photo measurements, and calibrating camera inner parameters. Field surveying preparing for adequate number of control points and manual measurements of the control points afterwards on the photos cost...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015